<?php 
class NotaingresosController extends AppController{
    var $name = "Notaingresos";
    
 	/** Lista las notas de ingreso generadas **/
    function index(){ //configure::write('debug',2);
        $this->layout="ajax";
		
		if($this->JQGridPaginate->isGrid){
		    $fields = array('Notaingreso.id', 'Notaingreso.numero',
							'"Notaingreso"."created"::date AS "Notaingreso__created"',
			                '"Almacen"."codigo" || \' - \' || "Almacen"."descripcion" AS "Notaingreso__almacen"',
							'"Ordencompra"."numero" AS "Notaingreso__ordencompra"');
			
			$this->JQGridPaginate->recursive = 0;
			$this->JQGridPaginate->cakefields = $fields;
			$this->JQGridPaginate->condition = array('Documento.organizacion_id'=>1);
			$this->autoRender = false;
			echo $this->JQGridPaginate->paginate("Notaingreso");
		}
    }
    
    /** Lista las ordenes de compra para realizar su nota de ingreso **/
    function ordenCompraNotaIngreso(){
        $this->loadModel('Ordencompra');
		$this->layout="ajax";		
		if($this->JQGridPaginate->isGrid){
			$fields = array('Ordencompra.id',
							'Ordencompra.numero',
							'"Proveedor"."razonsocial" AS "Ordencompra__proveedor"',
							'"Moneda"."nombre" AS "Ordencompra__moneda"',
							'"Ordencompra"."created"::date AS "Ordencompra__created"',
			                '"Ordencompraestado"."descripcion" AS "Ordencompra__estado"');
			
			$this->JQGridPaginate->recursive = 0;
			$this->JQGridPaginate->cakefields = $fields;
			$this->JQGridPaginate->condition = array('Ordencompra.estado_id'=>1, 'Ordencompraestado.id'=>array(1,4),
			                                            'Documento.organizacion_id'=>1);
			$this->autoRender = false;
			echo $this->JQGridPaginate->paginate("Ordencompra");
		}
    }
    
    /** recupera los datos de la orden de compra para que se pueda realizar su nota de ingreso **/
    function setNotaIngresoOc($ordencompra_id){ //configure::write('debug',2); 
        $this->loadModel('Ordencompra');
        $this->loadModel('Almacen');
        $this->layout = false;
		if(!empty($ordencompra_id) && !($ordencompra_id === 'undefined')){
			$ordencompra = $this->Ordencompra->getOrdencompra($ordencompra_id);
			$this->set('almacenes', $this->Almacen->find('list',array('conditions'=>array('organizacion_id'=>1))));
		    $this->set('ordencompra', $ordencompra);
		}
    }
    
    /** se encarga de guardar la nota de ingreso **/
    function setActualizar(){
        $this->layout = false;
        if(!empty($this->data)){
            $this->Notaingreso->begin();
            $respuesta = $this->Notaingreso->setActualizar($this->data,$this->variables);
			if($respuesta['respuesta']){
				$this->Notaingreso->commit();
				echo json_encode($respuesta);
			}else{
				$this->Notaingreso->rollback();
				echo json_encode($respuesta);
			}
        }else{
            echo json_encode(array('respuesta'=>false, 'mensaje'=>'NO HAY DATOS HA GUARDAR'));
        }
        $this->autoRender = false;
    }
    
	/** Nos muestra la nota de ingreso **/
    function getNotaingreso($nota_id = null){
		$this->set('nota_id',$nota_id);
        $this->loadModel('Detallenotaingreso');
		$this->layout = 'ajax';
		
		//recuperamos los datos del vale salida
		$notaingreso = $this->Notaingreso->getNotaingreso($nota_id);
		
		//recuperamos los datos del detalle vale salida
		$detallenotaingreso = $this->Detallenotaingreso->getDetallenotaingreso($nota_id);
		
		//seteamos datos
		$this->set('notaingreso',$notaingreso);
		$this->set('detallenotaingreso',$detallenotaingreso);
	}
}